package com.luzhikun.charactorEncoding_post;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;

/*
 * @Author liu-miss
 * @Description 关于中文乱码问题终极解决
 * @Date 17:34 2021/5/4
 *
 *
 *  首先在Tomcat9 中 请求获取到的参数
 *      就表单为例，表单发过来的由Get   请求    接收的  请求参数  ，不会出现中文乱码问题，因为服务器将Get方式的中文乱码问题解决了
 *                表单发过来的Post   请求    接收的   请求参数，  会出现中文乱码问题，用request.setCharacterEncoding("UTF-8");
 *                                                          就可以解决，POST中的请求 的 中文乱码问题
 *
 *                表单发过来的由Get   响应    的   响应参数  ，会出现中文乱码问题，用response.setContextType()可以解决
 *                表单发过来的由POST   响应    的   响应参数  ，会出现中文乱码问题，用response.setContextType()可以解决
 *  但是 在开发中，如果很多个类都需要这样写，就可以直接用过滤器 在请求到达Servlet前 就将这个字符集更改
 *
 *
 *
 **/
public class Charactorpost extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//            request.setCharacterEncoding("UTF-8");
//        // 获取参数
//        String username = request.getParameter("username");
//        System.out.println(username);
//            String username = request.getParameter("username");
//            System.out.println(username);
//            PrintWriter writer = response.getWriter();
//            writer.println(username);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//
        // 获取参数
        String username = req.getParameter("username");
        System.out.println(username);
        PrintWriter writer = resp.getWriter();
        writer.println(username);

    }
}
